﻿using Framework.CapaDeDatos.Excepciones;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace FrameworkTest.CapaDeDatosTest
{
    [TestClass()]
    public class ExceptionParametroNuloTest
    {
        string mensajeBase = Framework.Mensajes.CapaDeDatos.Excepciones.ParametroNulo;
        private TestContext testContextInstance;

        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        [TestMethod()]
        public void ExceptionParametroNuloConstructor1Test()
        {
            ExceptionParametroNulo target = new ExceptionParametroNulo();
            string expected = mensajeBase;
            string actual;
            actual = target.Message;
            Assert.AreEqual( expected, actual );
        }

        [TestMethod()]
        public void ExceptionParametroNuloConstructor2Test()
        {
            string message = string.Empty;
            string expected = string.Format( "{0}{1}{2}", message, Environment.NewLine, this.mensajeBase );
            ExceptionParametroNulo target = new ExceptionParametroNulo( message );
            string actual = target.Message;
            Assert.AreEqual( expected, actual );
        }

        [TestMethod()]
        public void ExceptionParametroNuloConstructor3Test()
        {
            string message = string.Empty;

            Exception innerException = new Exception();
            string expected = string.Format( "{0}{1}{2}{1}{3}", message, Environment.NewLine, this.mensajeBase, innerException.Message );
            ExceptionParametroNulo target = new ExceptionParametroNulo( message, innerException );
            string actual = target.Message;
            Assert.AreEqual( expected, actual );
            Assert.AreEqual( innerException, target.InnerException );
        }

        [TestMethod()]
        public void MessageTest()
        {
            ExceptionParametroNulo target = new ExceptionParametroNulo(); 
            string actual;
            string expected = this.mensajeBase;
            actual = target.Message;
            Assert.AreEqual( expected, actual );
        }
    }
}
